// 行数
var rows = 10;

// 列数
var cols = 10;

var bombs = 10;

// 存放所有td的二维数组.
var tdArr = [];

// 存放所有
var alltd = [];

// 记录游戏是否结束的布尔变量
var isOver = false;

var gameTable = document.getElementById("game-table");

// 第一层for循环,创建10个tr
for(var i = 0;i<rows;i++){
    var tr = document.createElement("tr");
    var temporary = [];
    for(var j = 0;j<cols;j++){
        var td = document.createElement("td");
        td.classList.add("grid");
        // 为每个创建的td设置初始状态为normal
        td.setAttribute("state","normal");
        tr.appendChild(td);
        temp.push(td);
        alltd.push(td);
        td.onmousedown = tdClick;
        td.row = i;
        td.col = j; 
    }
    tdArr.push(temp);

    gameTable.appendChild(tr);
}

// 随机生成几颗雷的位置
var numArray = [];
for(var i = 0;i<alltd.length;i++){
    numArray[i]= [i] = i;
}

for(var i = 0;i<bombs;i++){
    var index = Math.floor(Math.random()*numArray.length);
    var num = numArray[imdex];
    numArray.splice(index,1);
    alltd[num].setAttribute("is-bomb","yes");
}









// 阻止右键菜单弹出
document.body.oncontextmenu = function(e){
    e.preventDefault();
}

// td点击事件绑定函数
function tdClick(e){
    if(isOver){
        return;
    }
    if(e.button==0){
        // 左键
      if(e.target.getAttribute("state")=="normal"){
          if(e.target.getAttribute("is-bombs")=="yes"){
              return;
          }
          openGrid(e.target)
      }
    }else if(e.button==2){
    //右键 
    if(e.target.getAttribute("state")=="normal"){
        e.target.setAttribute("state","flag");
    }else if(e.target.getAttribute("state")=="flag"){
        e.target.setAttribute("state","normal");
    }
}
}



// Math.random().生成一个[0,1)的随机数
// var num = Math.random()*100;

// num = Math.floor(num);
// alert(num);




// 计算某个td周围有几颗雷
function bombsArround(td){
    var num=0;
    // 遍历
    for(var i = td.row-1;i<=td.row+1;i++){
        for(var j = td.col-1;j<=td.col+1;j++){
            // 排除自身
            if(i==td.row&&j==td.col){
                continue;
            }
            // 排除边界之外的坐标
            if(i<0||i>rows-1||j<0||cols-1){
                continue;
            }
            var tar = tdArr[i][j];
            if(tar.getAttribute("is-bomb")=="yes"){
                num++;
            }
        }
    }
    return num;
}

// 打开某个td的函数
function openGrid(td){
 var bombNum = bombsArround(e.target);
          e.target.setAttribute("state",bombNum);
          if(bombNum==0){
              
            
          }
}